//
//  BSTool.h
//  PhotographyStudi
//
//  Created by 叶一枫 on 2017/5/16.
//  Copyright © 2017年 叶一枫. All rights reserved.
//

#import <Foundation/Foundation.h>


typedef void(^ToolBlock)(NSInteger index,id anyone);

@interface BSTool : NSObject<UITextFieldDelegate>

/**
 工具类的单例

 @return BSTool
 */
+(BSTool*)sharedBSTool;


/**
 调整图片大小，重新绘制图片，可能造成清晰度降低的问题

 @param img 要重绘的图片
 @param size 要输出图片的尺寸
 @return UIImage
 */
-(UIImage*)scaleImageToSize:(UIImage*)img size:(CGSize)size;


/**
 指纹验证功能

 @param modeStr 模块类型：登录、设置验证
 */
- (void)authenticateUserFromModel:(NSString*)modeStr;

/**
 跳转home页或者登录页面

 @param type 指定跳转页面 LOGIN 代表到登录页面 HOME代表到主页
 */
- (void)goRootVCFromtype:(NSString*)type;


/**
 获取storyboard的关联的控制器

 @param identifier storyboard关联的VC标识符
 @return UIViewController
 */
-(UIViewController*)getVCFromStoryboardWithID:(NSString*)identifier;


/**
 根据文字获取内容高度或宽度
 
 @param str 计算的字符串
 @param size 宽或高的固定大小
 @param font label字体
 @param getHeight 是否是计算高度
 @return size
 */

-(CGSize)getSizeWithStr:(NSString*)str size:(CGFloat)size font:(UIFont*)font height:(BOOL)getHeight;

/**
 封装alertcontroller

 @param title 标题
 @param des 提醒文字
 @param actionArr 都有哪些按钮
 */
-(void)alertWithTitle:(NSString*)title des:(NSString*)des actions:(NSArray*)actionArr;

/**
 alertcontroller 基本类型，只有确定和取消按钮

 @param title 标题
 @param des 提醒文字
 */
-(void)alertBaseWithTitle:(NSString*)title des:(NSString*)des complet:(ToolBlock)complet;


/**
 alertcontroller 带有textfiled基本类型，只有确定和取消按钮

 @param title 标题
 @param des 提醒文字
 @param complet 完成的回调
 @param isNumber 只允许输入数字
 */
-(void)alertTextFiledTitle:(NSString*)title des:(NSString*)des complet:(ToolBlock)complet number:(BOOL)isNumber;


/**
 图片选择：拍照、相册选择

 @param title 提示信息
 @param des 描述
 @param complet 点击完成后的回调
 */
-(void)alertImagePickerWithTitle:(NSString*)title des:(NSString*)des complet:(ToolBlock)complet;


/**
 获取当前试图控制器

 @return 返回当前控制器
 */
-(UIViewController*)getCurrentVC;

/**
 生成文字图片

 @param content 对应的文字
 @param fontSize 文字的font
 @param textColor 文字颜色
 @param bgColor 背景颜色
 @param bounds 图片大小
 @return image
 */
-(UIImage *)imageFromText:(NSString*)content withFont:(CGFloat)fontSize withTextColor:(UIColor *)textColor withBgColor:(UIColor *)bgColor withImageBounds:(CGRect)bounds;


/**
 指定圆角

 @param view 要设置圆角的view
 @param corner 指定的圆角
 @param size 圆角半径大小
 */
-(void)setWidgetLayer:(UIView*)view withCorneradid:(UIRectCorner)corner withCorneradii:(CGSize)size;


/**
 验证是否含有汉子

 @param str 验证的字符串
 @return yes or no
 */
- (BOOL)isChineseWithStr:(NSString *)str;

/**
 是否包含汉子

 @param str 验证的字符串
 @return yes or no
 */
- (BOOL)includeChineseWithStr:(NSString *)str;

/**
 输入文本框只允许输入数组

 @param number 输入的文字
 @return bool
 */
- (BOOL)validateNumber:(NSString*)number ;


@end
